home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-11-28 | 6.7 KB | 142 lines | [ttro/ttxt] |
- Simple Sockets, 1995 Michael D. Trent
- Internet: mtrent@msn.fullfeed.com
-
-
- Version 1.1 December 1995: Maintenance Release.
- • Updated code and projects for Metrowerks CodeWarrior 7.
- • Added #ifdefs to allow Simple Sockets to jive with older headers w/o
- extra modification.
- • More documentation changes.
- • A nifty new version of the manual "HTML-ified" by Chris Hanson <chanson@mcs.com>.
- • Renewed commitment to keep this library in the public domain. People even offered to
- pay a shareware fee for this! (Mind you, after I told them I DID accept donations, they
- never wrote back ;-) ).
-
-
- Version 1.0.1 June 1995: Maintenance Release.
- • Updated code and projects for Metrowerks CodeWarrior 6.
- • Minor modifications to select(), recvfrom(), and maybe others.
- • Select() has been added to the manual.
- • Some additions to this file, including my new e-mail address.
- • Added MacTCP header files (for those without them), and added a
- “fixed” dnr.c file.
-
- Version 1.0 April 1995: Initial release.
-
-
- What is Simple Sockets?
- ~~~~~~~~~~~~~~~~~~~~~
- Simple Sockets is a small, relatively simple C code library for approximating BSD
- UNIX socket calls with MacTCP. Simple Sockets doesn't provide 100% faithful BSD
- port, rather it is a quick and easy way to "get the job done". This is a work in
- progress; BSD support should improve in time. I welcome suggestions and
- criticisms of the source code.
-
- Simple Sockets requires a compiler that uses Apple's new Universal Headers. This
- includes Metrowerks CodeWarrior and newer versions of THINK C/C++, and whatever
- became of Apple's MPW based "Mac on RISC Developer Kit". All sample applications
- are "fat binaries" compiled with Metrowerks CodeWarrior. Simple Sockets should
- still work with older compilers after a few simple source changes. If someone
- would like to go to the trouble to #ifdef the code, I'd be grateful.
-
- Please see the accompanying files for more information about Simple Sockets.
-
-
- Why am I releasing Simple Sockets?
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Every so often on various usenet groups, people ask about a socket interface for the
- Macintosh. Back when I was asking for one, the only stuff available was for MPW.
- One library in particular was terrifyingly unstable. I thought, "By golly, as a MacTCP
- programming and UNIX socket programming novice, I can do a better job than this!!"
- So I wrote this. But I have a better reason for making this software public.
-
- I believe Simple Sockets is most valuable as a good MacTCP example. The source code
- itself is nice and small, fairly well documented, and very readable. It illustrates basic
- MacTCP programming in a simple, easy to understand way. After all, if someone wants
- to do MacTCP programming, the last thing they should ever want to do is use the UNIX
- socket interface! Yuk!
-
-
- But what about GUSI?
- ~~~~~~~~~~~~~~~~
- I have been asked why I bothered to "roll my own" rather than use the Grand
- Unified Socket Interface (GUSI). Well, I have my reasons, and since the curious
- must know: until lately, GUSI was an MPW thing, and I didn't want to take the
- time to shape it to my CodeWarrior environment; I needed only TCP/IP and UDP/IP
- sockets, and it seemed easier to write them myself rather than trying to use GUSI
- (or scarier, less refined software); I could turn in my code for a grade; gain a
- sense of personal accomplishment; further my name and reputation; get e-mail from
- well-wishers, critics, and fellow socket software authors; and the list goes on…
-
- Honestly though, if you desire strict BSD compatibility, or you want to use your
- socket programming skills to perform AppleTalk and other Macintosh IPC
- instantiations, I suggest you give GUSI a good, long look.
-
-
- Licensing agreement
- ~~~~~~~~~~~~~~~
- Simple Sockets is passing directly into the Public Domain, w/o passing GO or
- collecting $200, with only one restriction (if this is possible). Simple Sockets
- must be distributed in it's original archive form, containing code, ReadMe files
- and other documentation, and sample applications. (Honestly, this stipulation is
- really a request - being Public Domain and all.)
-
-
- Contacting Michael Trent
- ~~~~~~~~~~~~~~~~~~~
- Thus far, I've tried to be extremely helpful for those who have questions about
- Simple Sockets. I'll try to keep helping everyone who needs help, but I've
- become extremely busy as of late. If you're having problems getting the software
- to work under Symantec compilers, I'll try to help; but please keep in mind I
- haven't used Symantec compilers seriously since I got Metrowerks Codewarrior
- DR 3 in 1994.
-
- Any questions/comments/offers of assistance/offers for entrance into a Masters
- Program at a good university can be directed to:
-
- Michael D. Trent
- 3302 Leopold Way #110
- Madison, WI 53713
-
- work e-mail: mtrent@epicsys.com
- pleasure e-mail: mtrent@msn.fullfeed.com
-
- E-mail is preferred; I may not receive snail-mail for several weeks. Please try
- my "pleasure" e-mail first — I do check it daily.
-
-
- Legal Stuff
- ~~~~~~~~~
- Simple Sockets may be freely distributed by electronic means, provided that it is
- not modified in any way and that it is accompanied by all of the original
- documentation unaltered.
-
- Disclaimer of warranty:
- In using this software, you understand and agree that this software is provided
- “as is” without warranty of any kind. The entire risk as to the results and
- performance of using this software lies entirely with you, the user. The author
- does not make any warranties, either expressed or implied, including but not
- limited to implied warranties of merchantability and fitness for a particular
- purpose, with respect to this software.
-
- In no event shall the author be liable for any consequential, incidental, or
- special damages whatsoever (including without limitation damages for loss of
- critical data, loss of profits, interruption of business, and the like) arising
- out of the use or inability to use this software. Because some states do not
- allow the exclusion or limitation of liability for consequential or incidental
- damages, the above limitations may not apply to you.
-
- Although the author would appreciate any feedback and bug reports, the author
- shall not be responsible for correcting any problems which you discover or
- otherwise help you maintain and use this software. Furthermore, the author may
- at any time replace, modify, alter, improve, enhance or change this software.
-
- Complete agreement:
- This agreement constitutes the entire agreement and supersedes any prior
- agreements between you and the author concerning this software. This agreement
- cannot be amended, modified, or waived except in writing.
-
- General:
- If any provision of this agreement shall be found to be unenforceable, it shall
- be deemed severed from the remainder of this agreement.
-